package com.lin.dao;

import com.lin.pojo.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * ClassName:LoginDao
 * Package:com.lin.dao
 * Author: hellcat
 * Date: 2019/12/16
 * ♣♣♣
 */

public interface UserDao {
    List<User> listStaffInfo(@Param("searchName") String searchName,
                             @Param("searchRoleId") String searchRoleId,
                             @Param("storeId") int storeId);

    List<String> getUserRoleList(@Param("userId") int userId,
                                 @Param("storeId") int storeId);


    List<String> listUserAuthority(@Param("userId") int userId,
                                   @Param("storeId") int storeId);


    User getUserByUsername(@Param("username") String username);

    User getUserById(@Param("id") int id);

    List<Map<String, Object>> listRoles(@Param("storeId") int storeId);

    void deleteUserRoleByUserId(@Param("id") Integer id);

    void insertUserRole(@Param("userId") Integer userId, @Param("roleId") String roleId);

    int deleteStuff(@Param("id") String id, @Param("storeId") int storeId);

    int updateAccountStatus(@Param("id") String id, @Param("status") String status,
                            @Param("storeId") int storeId);


    void insertStaff(User user);

    int updateUser(User user);

    List<User> getUserByRoleId(@Param("roleId") String roleId,
                               @Param("storeId") int storeId);

    void updateUserStoreId(User user);
}
